package com.example.service;

import com.example.common.Result;
import com.example.common.PageResult;
import com.example.dto.StockRecordQueryDTO;
import com.example.vo.StockRecordVO;

import java.util.List;

/**
 * 管理员库存管理服务接口
 */
public interface AdminStockService {

    /**
     * 分页查询所有商品的入库出库记录
     */
    Result<PageResult<StockRecordVO>> getStockRecordsPage(StockRecordQueryDTO queryDTO);

    /**
     * 查询所有入库记录（管理员创建商品）
     */
    Result<PageResult<StockRecordVO>> getInRecordsPage(int page, int size, String productName, 
                                                       String productCode, String startTime, String endTime);

    /**
     * 查询所有出库记录（店长入库的商品）
     */
    Result<PageResult<StockRecordVO>> getOutRecordsPage(int page, int size, String productName, 
                                                        String productCode, String operatorName, 
                                                        String startTime, String endTime);

    /**
     * 根据商品ID查询库存记录
     */
    Result<List<StockRecordVO>> getStockRecordsByProductId(Long productId);

    /**
     * 导出库存记录
     */
    Result<List<StockRecordVO>> exportStockRecords(StockRecordQueryDTO queryDTO);

    /**
     * 获取库存统计信息
     */
    Result<Object> getStockStatistics(String startTime, String endTime);
} 